#include "stdafx.h"
#include "CFileSystem.h"

CDirectoryManager		DirManager;

DWORD CDirectoryManager::ManageDirectories(void * pData)
{
	while(true)
	{
		for(auto pLink = DirManager.m_Directories.Begin(); pLink != DirManager.m_Directories.Bad(); ++pLink)
		{
			pLink->UpdateNotifications();
		}
		Sleep(2000);
	}
}

CFileData::CFileData(const char * szFilePath, CDirectory * pDir, WIN32_FIND_DATAA * pFindData) : m_pDirectory(pDir),
	m_nLastModifiedTime(0)
{
	if(pFindData) memcpy(&m_FindData, pFindData, sizeof(WIN32_FIND_DATAA));

	if(strchr(szFilePath, ':')) szncpy(m_szFilePath, szFilePath, sizeof(m_szFilePath));
	else
	{	
		szncpy(m_szFilePath, pDir->GetPath(), sizeof(m_szFilePath));
		strcat(m_szFilePath, "\\");
		strcat(m_szFilePath, szFilePath);
	}

	if(m_szFileName = strrchr(m_szFilePath, '\\'))
		++m_szFileName;

	if(m_szFileExt = strrchr(m_szFileName, '.')) ++m_szFileExt;
}